package com.hsnn.medstgmini.settlement.controller;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.hsnn.medstgmini.Constants;
import com.hsnn.medstgmini.base.dict.model.form.DicAreaForm;
import com.hsnn.medstgmini.base.dict.service.DicAreaManager;
import com.hsnn.medstgmini.settlement.model.SetAcctInfo;
import com.hsnn.medstgmini.settlement.model.SetAcctTransInfo;
import com.hsnn.medstgmini.settlement.model.SetBankAcctInfo;
import com.hsnn.medstgmini.settlement.model.SetBankInfo;
import com.hsnn.medstgmini.settlement.model.form.BankAcct;
import com.hsnn.medstgmini.settlement.model.form.BankAcctLog;
import com.hsnn.medstgmini.settlement.service.BankAcctInfoManager;
import com.hsnn.medstgmini.settlement.service.SettleAcctTransInfoManager;
import com.hsnn.medstgmini.sys.model.AuditType;
import com.hsnn.medstgmini.sys.model.SysUser;
import com.hsnn.medstgmini.sys.model.UserType;
import com.hsnn.medstgmini.util.AreaUtil;
import com.hsnn.medstgmini.util.DbUtil;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 中心账户
 * @author 蔡春龙
 * @date 2015年7月30日
 */
@Controller
@RequestMapping("/acctInfoCenter")
public class AcctInfoCenterController {

	private static final Logger log = Logger
			.getLogger(AcctInfoCenterController.class);

	@Autowired
	private BankAcctInfoManager bankAcctInfoManager;

	@Autowired
	private HttpServletRequest request;

	@Autowired
	private SettleAcctTransInfoManager settleAcctTransInfoManager;

	@Autowired
	private HttpSession session;
	
	@Autowired
	private DicAreaManager dicAreaManager;
	
	
	@Value("#{sysProp['system.province']}")
    private String province;
	/**
	 * 
	 * @category 获取当前登陆人信息
	 * @author 言科
	 * @date 2015年7月22日 SysUser
	 */
	public SysUser getUser() {
		return (SysUser) session.getAttribute(Constants.USERINFO);
	}

	/**
	 * 
	 * @category 跳转到药品采购中心账户信息页面
	 * @author 言科
	 * @date 2015年7月22日 String
	 */
	@SuppressWarnings("unchecked")
	@RequestMapping("/toCenterAcctInfo")
	public String toCenterAcctInfo(Model model) {
		Pagination page = new Pagination(request);

		// 查询银行卡信息
		bankAcctInfoManager.getBankAcctInfoList(page, null, getUser());
		List<Map<String, Object>> bankAcctList = (List<Map<String, Object>>) page
				.getRows();
		Map<String, Object> bankAcctInfo = null;
		if (bankAcctList != null && !bankAcctList.isEmpty()) {
			bankAcctInfo = bankAcctList.get(0);
		}
		model.addAttribute("bankAcctInfo", bankAcctInfo);

		// 查询开户行列表
		List<Map<String, String>> bankList = bankAcctInfoManager.getBankList();
		model.addAttribute("bankList", bankList);

		return "/settle/account/center/centerAcctInfo";
	}

	/**
	 * 
	 * @category 中心端 跳转到日志页面
	 * @author 言科
	 * @date 2015年7月23日 String
	 */
	@RequestMapping("/toCenterAcctInfoLog")
	public String toCenterAcctInfoLog(Model model, String bankAcctId) {
		model.addAttribute("bankAcctId", bankAcctId);
		return "/settle/account/center/centerAcctInfoLog";
	}

	@RequestMapping("/getCenterAcctInfoLog")
	@ResponseBody
	public Pagination getCenterAcctInfoLog(BankAcctLog bankAcctLog) {
		Pagination page = new Pagination(request);
		try {
			bankAcctInfoManager.getBankAcctLogList(bankAcctLog, page);
		} catch (Exception e) {
			log.error("",e);
		}
		return page;

	}

	/**
	 * @category 跳转到中心到医疗机构账户信息管理页面
	 * @author 韩守松
	 * @date 2015年7月23日
	 * @param @return
	 */
	@RequestMapping("/acctinfoHosp")
	public String toBankAcctInfoHosp() {
		return "/settle/acctinfoHosp";
	}

	@RequestMapping("/getAcctinfoHospList")
	@ResponseBody
	public Pagination getAcctinfoHospList(SetAcctInfo acctInfo) {
		Pagination page = new Pagination(request);
		try {
			acctInfo.setOrgType(UserType.yy.getKey());
			bankAcctInfoManager.getAcctInfoList(acctInfo, page);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return page;
	}

	/**
	 * @category 跳转到中心到配送企业账户信息管理页面
	 * @author 韩守松
	 * @date 2015年7月23日
	 * @param @return
	 */
	@RequestMapping("/acctinfoComp")
	public String toBankAcctInfoComp() {
		return "/settle/acctinfoComp";
	}

	@RequestMapping("/getAcctinfoCompList")
	@ResponseBody
	public Pagination getAcctinfoCompList(SetAcctInfo acctInfo) {
		Pagination page = new Pagination(request);
		try {
			acctInfo.setOrgType(UserType.ps.getKey());
			bankAcctInfoManager.getAcctInfoList(acctInfo, page);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return page;
	}

	/**
	 * @category 跳转到中心到核算中心账户信息管理页面
	 * @author 韩守松
	 * @date 2015年7月23日
	 * @param @return
	 */
	@RequestMapping("/acctinfoHSZX")
	public String toBankAcctInfoHSZX() {
		return "/settle/acctinfoHSZX";
	}

	@RequestMapping("/getAcctinfoHSZXList")
	@ResponseBody
	public Pagination getAcctinfoHSZXList(SetAcctInfo acctInfo) {
		Pagination page = new Pagination(request);
		try {
			acctInfo.setOrgType(UserType.hszx.getKey());
			bankAcctInfoManager.getAcctInfoList(acctInfo, page);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return page;
	}

	/**
	 * @category 跳转到中心审核账户信息页面
	 * @author 韩守松
	 * @date 2015年7月21日
	 * @param @param request
	 * @param @return
	 */
	@RequestMapping("/toAcctInfoCheck")
	public String toAcctInfoCheck(String orgId, SetAcctInfo acctInfo) {
		acctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		log.info(acctInfo);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/bankAcctInfoCenter";
	}

	/**
	 * @category 获取银行卡列表数据
	 * @author 韩守松
	 * @date 2015年7月21日
	 * @param @param request
	 * @param @param page
	 * @param @param bankAcct
	 * @param @return
	 */
	@RequestMapping("/getBankAcctInfoList")
	@ResponseBody
	public Pagination getBankAcctInfoList(Pagination page,
			SetBankAcctInfo bankAcct) {
		try {
			page = bankAcctInfoManager.getBankAcctInfoList(page, bankAcct);
		} catch (Exception e) {
			log.error("查询数据出错" + e);
		}
		return page;
	}

	/**
	 * @category 跳转到中心审核信息页面
	 * @author 韩守松
	 * @date 2015年7月21日
	 * @param @param request
	 * @param @return
	 */
	@RequestMapping("/toAcctInfoBankCheck")
	public String toAcctInfoBankCheck(Model model, String orgIdBank,
			String bankAcctId, SetBankAcctInfo bankAcctInfo, Integer orgType) {

		model.addAttribute("orgType", orgType);
		model.addAttribute("orgId", orgIdBank);

		// 查询帐户信息
		SetAcctInfo setAcctInfo = bankAcctInfoManager
				.getAcctInfoById(orgIdBank);
		model.addAttribute("setAcctInfo", setAcctInfo);

		bankAcctInfo = bankAcctInfoManager.getBankAcctById(bankAcctId);
		model.addAttribute("bankAcctInfo", bankAcctInfo);

		// 查询开户行列表
		List<Map<String, String>> bankList = bankAcctInfoManager.getBankList();
		model.addAttribute("bankList", bankList);

		return "/settle/bankAcctInfoCheck";
	}

	/**
	 * @category 跳转到交易明细页面
	 * @author 韩守松
	 * @date 2015年7月21日
	 * @param @param request
	 * @param @return
	 */
	@RequestMapping("/toSetAcctTransInfoCenter")
	public String toSetAcctTransInfoCenter(String orgId, SetAcctInfo acctInfo) {
		acctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		log.info(acctInfo);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/acctTransInfoCenter";
	}

	/**
	 * @category 获取交易明细列表数据
	 * @author 韩守松
	 * @date 2015年7月23日
	 * @param @param request
	 * @param @param page
	 * @param @param acctTransInfo
	 * @param @return
	 */
	@RequestMapping("/getSetAcctTransInfoCenterData")
	@ResponseBody
	public Pagination getSetAcctTransInfoCenterData(HttpServletRequest request,
			Pagination page, SetAcctTransInfo acctTransInfo) {
		try {
			page = settleAcctTransInfoManager.getBankAcctTransInfoList(page,
					acctTransInfo);
		} catch (Exception e) {
			log.info("获取医疗机构交易明细信息错误-->" + e);
		}
		return page;
	}

	// ///////////////////////////////中心端医疗账户机构管理

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户查看
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterHospSee")
	public String toCenterHospSee() {
		DicAreaForm area = dicAreaManager.getDicAreaById(province);
		request.setAttribute("area", area);
		request.setAttribute("sysAreaId", province);
		return "/settle/account/center/centerHospSee";
	}

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户查看 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterHospSee")
	@ResponseBody
	public Pagination getCenterHospSee( ) {
		Pagination page = new Pagination(request);
		try {
			DbUtil.jsonToMap(request, page);
			String areaId = AreaUtil.getAreaStartCode(province, request.getParameter("area1"), request.getParameter("area2"));
			page.getConditions().remove("area1");
			page.getConditions().remove("area2");
			//经过地区转换获得地区id
			page.getConditions().put("areaId",areaId);
			page.getConditions().put("orgType",UserType.yy.getKey()+"");
			bankAcctInfoManager.getAcctInfoList(page);
//			String areaId = AreaUtil.getAreaStartCode(province, request.getParameter("area1"), request.getParameter("area2"));
//			page.getConditions().put("areaId",areaId);
//			bankAcctInfoManager.getAcctInfoList(page);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return page;
	}

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户查看 银行账户信息查看
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterHospSeeBank")
	public String toCenterHospSeeBank(String orgId, SetAcctInfo acctInfo) {
		acctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		log.info(acctInfo);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/account/center/centerHospSeeBank";
	}

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户查看 银行账户信息查看 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterHospSeeBank")
	@ResponseBody
	public Pagination getCenterHospSeeBank(Pagination page,
			SetBankAcctInfo bankAcct) {
		try {
			page = bankAcctInfoManager.getBankAcctInfoList(page, bankAcct);
		} catch (Exception e) {
			log.error("查询数据出错" + e);
		}
		return page;
	}

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户查看 银行账户信息查看 编辑
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterHospSeeBankEdit")
	public String toCenterHospSeeBankEdit(Model model, String orgId,
			String bankAcctId, SetBankAcctInfo bankAcctInfo, Integer orgType,
			SetAcctInfo setAcctInfo) {

		// 查询帐户信息
		setAcctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		model.addAttribute("setAcctInfo", setAcctInfo);

		bankAcctInfo = bankAcctInfoManager.getBankAcctById(bankAcctId);
		model.addAttribute("bankAcctInfo", bankAcctInfo);

		// 查询开户行列表
		List<Map<String, String>> bankList = bankAcctInfoManager.getBankList();
		model.addAttribute("bankList", bankList);

		return "/settle/account/center/centerHospSeeBankEdit";
	}

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户查看 收支明细查看
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterHospSeeTrans")
	public String toAuditAcctInfoHospTrans(String orgId, SetAcctInfo acctInfo) {
		acctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		log.info(acctInfo);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/account/center/centerHospSeeTrans";
	}

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户查看 收支明细查看 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterHospSeeTrans")
	@ResponseBody
	public Pagination gettCenterHospSeeTrans(HttpServletRequest request,
			Pagination page, SetAcctTransInfo acctTransInfo) {
		try {
			page = settleAcctTransInfoManager.getBankAcctTransInfoList(page,
					acctTransInfo);
		} catch (Exception e) {
			log.info("获取医疗机构交易明细信息错误-->" + e);
		}
		return page;
	}

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户审核
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterHospCheck")
	public String toCenterHospCheck(HttpServletRequest request,
			SetAcctInfo acctInfo) {
		SysUser user = (SysUser) request.getSession().getAttribute(
				Constants.USERINFO);
		acctInfo = bankAcctInfoManager.getAcctInfo(user);
		DicAreaForm area = dicAreaManager.getDicAreaById(province);
		log.info(acctInfo);
		request.setAttribute("area", area);
		request.setAttribute("sysAreaId", province);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/account/center/centerHospCheck";
	}

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户审核 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterHospCheck")
	@ResponseBody
	public Pagination getAuditHospAcctInfoList(BankAcct bankAcct) {
		Pagination page = new Pagination(request);
		try {
			String areaId = AreaUtil.getAreaStartCode(province, request.getParameter("area1"), request.getParameter("area2"));
			page.getConditions().put("areaId",areaId);
			bankAcct = bankAcct == null ? new BankAcct() : bankAcct;
			bankAcct.setOrgType(UserType.yy.getKey());
			bankAcct.setAuditStatus(AuditType.normal.getKey());
			bankAcctInfoManager.getAuditAcctInfoList(bankAcct, page);
			page.setSuccess(true);
		} catch (Exception e) {
			log.error("",e);
		}
		return page;
	}

	/**
	 * 
	 * @category 医疗机构账户管理 医疗机构账户审核 审核
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterHospCheckAudit")
	public String toCenterHospCheckAudit(Model model, String orgIdBank,
			String bankAcctId, SetBankAcctInfo bankAcctInfo, Integer orgType) {

		model.addAttribute("orgId", orgIdBank);

		// 查询帐户信息
		SetAcctInfo setAcctInfo = bankAcctInfoManager
				.getAcctInfoById(orgIdBank);
		model.addAttribute("setAcctInfo", setAcctInfo);

		bankAcctInfo = bankAcctInfoManager.getBankAcctById(bankAcctId);
		model.addAttribute("bankAcctInfo", bankAcctInfo);

		// 查询开户行列表
		List<Map<String, String>> bankList = bankAcctInfoManager.getBankList();
		for(int i = 0; i < bankList.size() ; i++){
			Map<String, String> map = bankList.get(i);
			if(map.get("bankAcctNo").equals(bankAcctInfo.getDepositBank())){
				model.addAttribute("fatherBankName", map.get("fatherBankName"));
			}
		}
		model.addAttribute("bankList", bankList);

		return "/settle/account/center/centerHospCheckAudit";
	}

	// ///////////////////////////////中心端配送企业账户机构管理

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户查看
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterDeliverySee")
	public String toCenterDeliverySee() {
		return "/settle/account/center/centerDeliverySee";
	}

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户查看 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterDeliverySee")
	@ResponseBody
	public Pagination getCenterDeliverySee(BankAcct bankAcct) {
		Pagination page = new Pagination(request);
		try {
			bankAcct = bankAcct == null ? new BankAcct() : bankAcct;
			bankAcct.setOrgType(UserType.ps.getKey());
			bankAcctInfoManager.getAuditAcctInfoList(bankAcct, page);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return page;
	}

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户查看 银行账户信息查看
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterDeliverySeeBank")
	public String toCenterDeliverySeeBank(String orgId, SetAcctInfo acctInfo) {
		acctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		log.info(acctInfo);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/account/center/centerDeliverySeeBank";
	}

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户查看 银行账户信息查看 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterDeliverySeeBank")
	@ResponseBody
	public Pagination getCenterDeliverySeeBank(Pagination page,
			SetBankAcctInfo bankAcct) {
		try {
			page = bankAcctInfoManager.getBankAcctInfoList(page, bankAcct);
		} catch (Exception e) {
			log.error("查询数据出错" + e);
		}
		return page;
	}

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户查看 银行账户信息查看 编辑
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterDeliverySeeBankEdit")
	public String toCenterDeliverySeeBankEdit(Model model, String orgId,
			String bankAcctId, SetBankAcctInfo bankAcctInfo, Integer orgType,
			SetAcctInfo setAcctInfo) {

		// 查询帐户信息
		setAcctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		model.addAttribute("setAcctInfo", setAcctInfo);

		bankAcctInfo = bankAcctInfoManager.getBankAcctById(bankAcctId);
		model.addAttribute("bankAcctInfo", bankAcctInfo);

		// 查询开户行列表
		List<Map<String, String>> bankList = bankAcctInfoManager.getBankList();
		model.addAttribute("bankList", bankList);

		return "/settle/account/center/centerDeliverySeeBankEdit";
	}

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户查看 收支明细查看
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterDeliverySeeTrans")
	public String toAuditAcctInfoDeliveryTrans(String orgId,
			SetAcctInfo acctInfo) {
		acctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		log.info(acctInfo);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/account/center/centerDeliverySeeTrans";
	}

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户查看 收支明细查看 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterDeliverySeeTrans")
	@ResponseBody
	public Pagination gettCenterDeliverySeeTrans(HttpServletRequest request,
			Pagination page, SetAcctTransInfo acctTransInfo) {
		try {
			page = settleAcctTransInfoManager.getBankAcctTransInfoList(page,
					acctTransInfo);
		} catch (Exception e) {
			log.info("获取配送企业交易明细信息错误-->" + e);
		}
		return page;
	}

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户审核
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterDeliveryCheck")
	public String toCenterDeliveryCheck(HttpServletRequest request,
			SetAcctInfo acctInfo) {
		SysUser user = (SysUser) request.getSession().getAttribute(
				Constants.USERINFO);
		acctInfo = bankAcctInfoManager.getAcctInfo(user);
		log.info(acctInfo);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/account/center/centerDeliveryCheck";
	}

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户审核 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterDeliveryCheck")
	@ResponseBody
	public Pagination getCenterDeliveryCheck(BankAcct bankAcct) {
		Pagination page = new Pagination(request);
		try {
			bankAcct = bankAcct == null ? new BankAcct() : bankAcct;
			bankAcct.setOrgType(UserType.ps.getKey());
			bankAcct.setAuditStatus(AuditType.normal.getKey());
			bankAcctInfoManager.getAuditAcctInfoList(bankAcct, page);
			page.setSuccess(true);
		} catch (Exception e) {
			log.error("",e);
		}
		return page;
	}

	/**
	 * 
	 * @category 配送企业账户管理 配送企业账户审核 审核
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterDeliveryCheckAudit")
	public String toCenterDeliveryCheckAudit(Model model, String orgIdBank,
			String bankAcctId, SetBankAcctInfo bankAcctInfo, Integer orgType) {

		model.addAttribute("orgId", orgIdBank);

		// 查询帐户信息
		SetAcctInfo setAcctInfo = bankAcctInfoManager
				.getAcctInfoById(orgIdBank);
		model.addAttribute("setAcctInfo", setAcctInfo);

		bankAcctInfo = bankAcctInfoManager.getBankAcctById(bankAcctId);
		SetBankInfo setBankInfo = bankAcctInfoManager.getBankInfoById(bankAcctInfo.getDepositBankNo());
		model.addAttribute("bankAcctInfo", bankAcctInfo);
		model.addAttribute("bankFaterName",setBankInfo.getFatherBankName());

		// 查询开户行列表
		List<Map<String, String>> bankList = bankAcctInfoManager.getBankList();
		model.addAttribute("bankList", bankList);

		return "/settle/account/center/centerDeliveryCheckAudit";
	}

	// ///////////////////////////////中心端核算中心账户机构管理

	/**
	 * 
	 * @category 核算中心账户管理 核算中心账户查看
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterAuditSee")
	public String toCenterAuditSee() {
		return "/settle/account/center/centerAuditSee";
	}

	/**
	 * 
	 * @category 核算中心账户管理核算中心账户查看 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterAuditSee")
	@ResponseBody
	public Pagination getCenterAuditSee(SetAcctInfo acctInfo) {
		Pagination page = new Pagination(request);
		try {
			acctInfo.setOrgType(UserType.hszx.getKey());
			bankAcctInfoManager.getAcctInfoList(acctInfo, page);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return page;
	}

	/**
	 * 
	 * @category 核算中心账户管理核算中心账户查看 银行账户信息查看
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterAuditSeeBank")
	public String toCenterAuditSeeBank(String orgId, SetAcctInfo acctInfo) {
		acctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		log.info(acctInfo);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/account/center/centerAuditSeeBank";
	}

	/**
	 * 
	 * @category 核算中心账户管理 核算中心账户查看 银行账户信息查看 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterAuditSeeBank")
	@ResponseBody
	public Pagination getCenterAuditSeeBank(Pagination page,
			SetBankAcctInfo bankAcct) {
		try {
			page = bankAcctInfoManager.getBankAcctInfoList(page, bankAcct);
		} catch (Exception e) {
			log.error("查询数据出错" + e);
		}
		return page;
	}

	/**
	 * 
	 * @category 核算中心账户管理 核算中心账户查看 银行账户信息查看 编辑
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterAuditSeeBankEdit")
	public String toCenterAuditSeeBankEdit(Model model, String orgId,
			String bankAcctId, SetBankAcctInfo bankAcctInfo, Integer orgType,
			SetAcctInfo setAcctInfo) {

		// 查询帐户信息
		setAcctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		model.addAttribute("setAcctInfo", setAcctInfo);

		bankAcctInfo = bankAcctInfoManager.getBankAcctById(bankAcctId);
		model.addAttribute("bankAcctInfo", bankAcctInfo);

		// 查询开户行列表
		List<Map<String, String>> bankList = bankAcctInfoManager.getBankList();
		model.addAttribute("bankList", bankList);

		return "/settle/account/center/centerAuditSeeBankEdit";
	}

	/**
	 * 
	 * @category 核算中心账户管理 核算中心账户查看 收支明细查看
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterAuditSeeTrans")
	public String toAuditAcctInfoAuditTrans(String orgId, SetAcctInfo acctInfo) {
		acctInfo = bankAcctInfoManager.getAcctInfoById(orgId);
		log.info(acctInfo);
		request.setAttribute("acctInfo", acctInfo);
		return "/settle/account/center/centerAuditSeeTrans";
	}

	/**
	 * 
	 * @category 核算中心账户管理 核算中心账户查看 收支明细查看 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterAuditSeeTrans")
	@ResponseBody
	public Pagination gettCenterAuditSeeTrans(HttpServletRequest request,
			Pagination page, SetAcctTransInfo acctTransInfo) {
		try {
			page = settleAcctTransInfoManager.getBankAcctTransInfoList(page,
					acctTransInfo);
		} catch (Exception e) {
			log.info("获取卫生局交易明细信息错误-->" + e);
		}
		return page;
	}

	/**
	 * 
	 * @category 核算中心账户管理 核算中心账户审核
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterAuditCheck")
	public String toCenterAuditCheck(HttpServletRequest request,
			SetAcctInfo acctInfo) {
		return "/settle/account/center/centerAuditCheck";
	}

	/**
	 * 
	 * @category 核算中心账户管理 核算中心账户审核 获取列表信息
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/getCenterAuditCheck")
	@ResponseBody
	public Pagination getCenterAuditCheck(BankAcct bankAcct) {
		Pagination page = new Pagination(request);
		try {
			bankAcct = bankAcct == null ? new BankAcct() : bankAcct;
			bankAcct.setOrgType(UserType.hszx.getKey());
			bankAcct.setAuditStatus(AuditType.normal.getKey());
			bankAcctInfoManager.getAuditAcctInfoList(bankAcct, page);
			page.setSuccess(true);
		} catch (Exception e) {
			log.error("",e);
		}
		return page;
	}

	/**
	 * 
	 * @category 核算中心账户管理 核算中心账户审核 审核
	 * @author 言科
	 * @date 2015年8月1日 String
	 */
	@RequestMapping("/toCenterAuditCheckAudit")
	public String toCenterAuditCheckAudit(Model model, String orgIdBank,
			String bankAcctId, SetBankAcctInfo bankAcctInfo, Integer orgType) {

		model.addAttribute("orgId", orgIdBank);

		// 查询帐户信息
		SetAcctInfo setAcctInfo = bankAcctInfoManager
				.getAcctInfoById(orgIdBank);
		model.addAttribute("setAcctInfo", setAcctInfo);

		bankAcctInfo = bankAcctInfoManager.getBankAcctById(bankAcctId);
		model.addAttribute("bankAcctInfo", bankAcctInfo);
		SetBankInfo setBankInfo = bankAcctInfoManager.getBankInfoById(bankAcctInfo.getDepositBankNo());
		model.addAttribute("bankFaterName",setBankInfo.getFatherBankName());

		// 查询开户行列表
		List<Map<String, String>> bankList = bankAcctInfoManager.getBankList();
		model.addAttribute("bankList", bankList);

		return "/settle/account/center/centerAuditCheckAudit";
	}

}
